package xyz.xtt.pay.client.response;

import java.io.Serial;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author dale
 * @date 2025/1/16
 **/
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class TblPayOrderDto implements java.io.Serializable {
    @Serial
    private static final long serialVersionUID = 6446990014558508401L;

    @Schema(description = "支付订单id")
    private Long payOrderId;

    @Schema(description = "businessOrder表id")
    private Long businessOrderId;

    @Schema(description = "订单业务类型: 1 -> nft资产交易; 2 -> 个人铸造上链")
    private Integer businessType;

    @Schema(description = "关联业务id")
    private String businessRefId;

    @Schema(description = "通通app用户id")
    private Long appUserId;

    @Schema(description = "卖家用户id")
    private Long sellerId;

    @Schema(description = "支付状态： 0 -> 未支付 1 ->  已支付 2 -> 支付失败 3 -> 支付取消")
    private Integer payStatus;

    @Schema(description = "订单金额")
    private java.math.BigDecimal orderMoney;

    @Schema(description = "实际支付金额")
    private java.math.BigDecimal payMoney;

    @Schema(description = "创建时间")
    private Long createTime;

    @Schema(description = "支付成功时间")
    private Long paySuccessTime;

    @Schema(description = "最后一次更新时间")
    private Long updateTime;

    @Schema(description = "业务附加参数")
    private String businessAttach;
}